package com.example.micro_property_springboot.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.micro_property_springboot.pojo.AssetCategory;
import com.example.micro_property_springboot.pojo.DTO.request.AssetCategoryAddDTO;
import com.example.micro_property_springboot.pojo.DTO.request.AssetCategoryQueryDTO;

import java.util.List;

/**
 * 资产分类服务接口
 */
public interface AssetCategoryService {
        /**
         * 多条件分页查询资产分类
         */
        Page<AssetCategory> queryCategoryPage(AssetCategoryQueryDTO queryDTO, int pageNum, int pageSize);

        /**
         * 单个编辑资产分类（自动更新 updateTime）
         */
        AssetCategory updateCategory(AssetCategory category);

        /**
         * 批量编辑资产分类
         */
        int batchUpdateCategories(List<AssetCategory> categories);

        /**
         * 单个删除资产分类（可选：可扩展校验是否被资产引用，避免级联问题）
         */
        boolean deleteCategory(Long id);

        /**
         * 批量删除资产分类
         */
        int batchDeleteCategories(List<Long> ids);

        /**
         * 新增资产分类
         */
        AssetCategory addCategory(AssetCategoryAddDTO addDTO);
}